FreePBXでSIP Trunkを作ってみた(chan_pjsip)
概要
前に書いたTwilioのSIP Trunkで電話をかけてみたというブログにセットアップしたのはchan_sip
で、先日比較的に新しいTwilioのドキュメンテーションを見て、調べたらchan_sip
はもうメンテナンスされず、chan_pjsip
が推奨されています。今後SIP Trunkingを使う方にchan_pjsip
をお薦めするので、FreePBX上chan_pjsip
の設定方法を紹介したいと思います。
事前準備
- TwilioでSIP Trunkの作成のように、TwilioのSIP Trunkを用意します。(Credentialsも後で使います)
- FreePBXサーバーをクラウド(AWS)上に作ってみたのように、FreeBPXの環境を用意します。
- FreePBXシステムにコマンドできる環境・コマンドツール(こちらは
SSH Client + MacOS Terminal
)
このブログの手順はTwilio-FreePBX SIP Trunking Guideを参考しました。
手順
Asterisk SIP Settingsとセットアップ
FreePBXのSettings->Asterisk SIP Settings
に入ってもらいます。
最初はNAT Settingsのところに、Detect Network Settings
ボタンを押します。それでサーバーネットワーク情報が自動的に入力されます。
同じページのAudio Codecsの部分は、ulaw
以外のものを全てチェックせずにしてもらいます。
設定が終わったら、Sumbit
してから、Apply Config
をします。
そして、コマンドツールで下記のコマンドを順番で実行してもらいます。
sudo fwconsole stop sudo fwconsole start
Asterisk Started
が表示されたら、実行成功となります。
chan_pjsip Trunkの追加
Connectivity -> Trunks -> +Add SIP(chan_pjsip)Trunk
でTrunk追加を行います。
Trunk Name
は好きな名前にし、Outbound CallerID
にはTwilioのSIP Trunkに設定した電話番号となります。
Generalタブに記入する項目:
- Username (Twilio Credential Username)
- Secret (Twilio Credential Password)
- Registration (Noneにします)
- SIP Server (Twilio Termination SIP URI)
- SIP Server Port (5060)
AdvancedタブにはDTMF ModeをRFC 4733
に変更します。
設定が終わったら、Sumbit
してから、Apply Config
をします。
そして、コマンドツールで下記のコマンドを順番で実行してもらいます。
sudo fwconsole reload
Successfully reloaded
が表示されたら、実行成功となります。
Outbound Routeの追加
Connectivity -> Outbound Routes -> +Add Outbound Route
でOutbound Rounteの追加を行います。
Route Settingsタブに記入する項目は
- Rounte Name (好きな名前に)
- Trunk Sequence for Matched Routes (さっき追加したchan_pjsip Twilio-Trunk)
Dial Patternsにはmatch pattern
を.
(全て)にします。
設定が終わったら、Sumbit
してから、Apply Config
をします。
Extensionの追加
Applications -> Extensions -> +Add New SIP[chan_pjsip] Extension
でSIP(chan_pjsip) Extensionの追加を行います。
Generalタブに記入する項目は
- User Extension (好きな三桁数字)
- Display Name (好きな名前)
Secretの部分はsip-pstnで電話をするとき使うパスワードとなります。
設定が終わったら、Sumbit
してから、Apply Config
をします。
TwilioのOriginationにURIの追加
FreePBXのIPと地域をスクショのように追加します(priorityとweightは自由です)。TwilioのFreePBX公式手順書にはまだregion
のままになっていますが、現時点(2022年2月)はregion
はもうレガシーとなって、edge
を使うことに推奨されています。
最後
このブログはFreePBX SIP(chan_pjsip) Trunkの設定だけを書いたので、Twilio経由でどう電話をかけるかをそも前のTwilioのSIP Trunkで電話をかけてみた(Outbound)ブログに確認してください。
以上です。